package com.example.listviewtest;

import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    //设置要显示的数据
//    private String[] data = new String[20];

    private TextView titleText;

    private List<AppItem> appItemList = new ArrayList<>();

    private String[] appName = {"UC浏览器","抖音","啾咪星球","快手极速版","皮皮段子","全民省钱购","腾讯视频","腾讯新闻","西瓜视频","想看"};
    private int[] icons = {R.mipmap.uc_1,R.mipmap.dy_2,R.mipmap.jm_3,R.mipmap.ks_4,R.mipmap.dz_5,R.mipmap.sqg_6,R.mipmap.txsp_7,R.mipmap.txxw_8,R.mipmap.xg_9,R.mipmap.xk_10};


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //隐藏ActionBar
        ActionBar actionBar = getSupportActionBar();
        if (actionBar != null) {
            actionBar.hide();
        }

        titleText = findViewById(R.id.title_text);
        titleText.setText("应用列表");

        //简单生成数据 1-20
//        for (int i = 0; i < data.length; i++) {
//            data[i] = Integer.toString(i + 1);
//        }

        //数组中的数据是无法直接传递给ListView的，我们需要借助适配器来完成
        //这里使用ArrayAdapter，参数列表：当前上下文，ListView子项布局的id，要进行适配的数据
//        ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, R.layout.support_simple_spinner_dropdown_item, data);
//        ListView listView = findViewById(R.id.list_view);
//        listView.setAdapter(adapter);


        //初始化app数据
        initApps();
        //创建自定义适配器
        final AppAdapter appAdapter = new AppAdapter(MainActivity.this,R.layout.app_item,appItemList);
        ListView listView = findViewById(R.id.list_view);
        listView.setAdapter(appAdapter);
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                AppItem appItem = appItemList.get(position); //position为点击的位置，通过get()方法获取
                //这里简单的显示点击的应用名
                Toast.makeText(MainActivity.this, appItem.getName(), Toast.LENGTH_SHORT).show();
            }
        });

    }

    //初始化app数据
    private void initApps(){
        for (int i = 0; i < 10; i++) {
            AppItem appItem = new AppItem(appName[i],icons[i]);
            appItemList.add(appItem);
        }
    }
}
